import {customRef} from "vue";

// 延迟展示
// 自定义响应式数据  track跟踪 trigger 触发
export default function (initValue:string) {
    let timer:number;
    let msg =  customRef((track, trigger)=>{
        return{
            get(){
                // 告诉vue msg数据很重要,一旦变化就立刻更新
                track();
                return initValue
            },
            set(value) {
                console.log("set");
                clearInterval(timer);
                timer = setTimeout(()=>{
                    initValue = value;
                    trigger(); //通知vue 数据变化了
                })
            },
        }
    });

    return {msg}
}